package com.syf.feign;

import com.syf.config.feign.OAuth2FeignConfig;
import com.syf.dto.AdminBankDto;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;

import java.util.List;

/**
 *  FeignClient是一个“客户端”，它是用来发起请求的，不是提供服务的。
 *  @FeignClient的path参数只对FeignClient的请求路径起作用，不会对restcontroller实现起作用，而接口上的requestMapping（包括衍生的GetMapping之类）会同时对FeignClient和Restcontroller起作用
 *
 *  不加path参数的话FeignClient的请求路径和服务的路径是一致的，可以调用成功
 *  @RequestMapping("/cms")         //增加注解
 *
 *  请求路径：
 *      admin-service:port/list  ,非 admin-service:port/adminBanks/list
 *
 *  之所以加：path = "/adminBanks"，指定调用adminBanks的controller的方法
 *
 * @author syf
 * @create 2021-11-15 15:55
 */
@FeignClient(name = "admin-service", path = "/adminBanks", configuration = OAuth2FeignConfig.class) //权限token传递
public interface AdminBankServiceFeign {

    @GetMapping("/list")
    List<AdminBankDto> getAllAdminBanks();

}
